package d4_static_attention;

import javax.print.DocFlavor;

/*
 *      理解静态方法的注意事项:
 *
 *
 * */
public class Test {
    //静态变量
    public static String schoolName = "深圳黑马";

    //静态方法:
    public static void inAddr(){
        System.out.println("我们都在黑马学java~~");
    }

    //定义实例变量
    private String name;

    //定义实例方法
    public void printInfo(){
        System.out.println("名字叫:" + name);
    }

    public static void main(String[] args) {
        //目标: 理解使用static的几点注意事项
        //1.静态方法(类方法)中可以直接访问类的静态成员, 不可以直接访问实例成员
        //2.实例方法中既可以直接访问静态成员, 也可以直接访问实例成员.
        //3.实例方法中可以出现this ,类方法中不可以出现this关键字
        //this代表当前对象,类方法不需要对象去调用,是属于类,因此不能如此

    }
    //实力方法
    //2.实例方法中既可以直接访问静态成员, 也可以直接访问实例成员.
    //静态成员(类成员)只有一份是共享的,所以能
    //实例成员是属于类的,实例方法代表访问这个类的属性和行为
    public void testNOStatic(){
        System.out.println(schoolName);
        inAddr();
        System.out.println(name);//如果用对象调用这个方法,这些属性和行为,就是用这个对象去掉它自己的
        printInfo();
    }

    //1.静态方法(类方法)中可以直接访问类的静态成员, 不可以直接访问实例成员
    public static void testStatic(){
        System.out.println(schoolName);
        inAddr();
//        System.out.println(name);//报错
//        printInfo();//报错
    }
}
